bool Insert(const pair<k, v> &kv)
{
    if (Find(kv.first)) // 去重
        return false;
    
}
Node *Find(const k &key)
{
    size_t hsi = Hash()(key) % _table.size();
    Node *cur = _table[hsi];
    while (cur)
    {
        if (cur->_kv.first == key)
        {
            return cur;
        }
        else
        {
            cur = cur->next;
        }
    }
    return nullptr;
}

bool Erase(const k &key)
{
    size_t hsi = Hash()(key) % _table.size();
    Node *prev = nullptr;
    Node *cur = _table[hsi];
    while (cur)
    {
        if (cur->_kv.first == key)
        {
            if (cur == _table[hsi])
            {
                _table[hsi] = cur->_next;
            }
            else
            {
                prev->_next = cur->_next;
            }
            delete cur;
            --_n;
            return true;
        }
        else
        {
            prev = cur;
            cur = cur->_next;
        }
    }
    return false;
}